#include <stdio.h>
#include <vector>
#include <algorithm>

using namespace std;
int main(){

  int s, n;
  while(scanf("%d %d", &s, &n)!=0 && (s!=0 || n!=0)){
    vector<int> dig;

    if(n==0){
      dig.push_back(0);
    }else{
      while(n!=0){
	dig.push_back(n%10);
	n/=10;
      }
    }
    reverse(dig.begin(),dig.end());
    
    //first block
    for(int k=0;k<dig.size();k++){
      if(dig[k]==2 || dig[k]==3 || dig[k]==5 || dig[k]==6 || dig[k]==7 || dig[k]==8 || dig[k]==9 || dig[k]==0){
	printf(" ");
	for(int i=0;i<s;i++){
	  printf("-");
	}
	printf(" ");
      }else if(dig[k]==1 || dig[k]==4){
	for(int i=0;i<s+2;i++){
	  printf(" ");
	}
      }
      if(k!=dig.size()-1){
	printf(" ");
      }
    }
    printf("\n");
    
    //second block
    for(int j=0;j<s;j++){      
      for(int k=0;k<dig.size();k++){
	if(dig[k]==1 || dig[k]==2 || dig[k]==3 || dig[k]==7){
	  for(int i=0;i<s+1;i++){
	    printf(" ");
	  }
	  printf("|");
	}else if(dig[k]==5 || dig[k]==6){
	  printf("|");
	  for(int i=0;i<s+1;i++){
	    printf(" ");
	  }
	}else if(dig[k]==4 || dig[k]==8 || dig[k]==9 || dig[k]==0){
	  printf("|");
	  for(int i=0;i<s;i++){
	    printf(" ");
	  }
	  printf("|");
	}
	if(k!=dig.size()-1){
	  printf(" ");
	}
      }
      printf("\n");
    }

    //third block
    for(int k=0;k<dig.size();k++){
      if(dig[k]==1 || dig[k]==7 || dig[k]==0){
	for(int i=0;i<s+2;i++){
	  printf(" ");
	}
      }else if(dig[k]==2 || dig[k]==3 ||dig[k]==4||dig[k]==5||dig[k]==6||dig[k]==8||dig[k]==9){
	printf(" ");
	for(int i=0;i<s;i++){
	  printf("-");
	}
	printf(" ");
      }
      if(k!=dig.size()-1){
	printf(" ");
      }
    }
    printf("\n");

    //fourth block
    for(int j=0;j<s;j++){      
      for(int k=0;k<dig.size();k++){
	if(dig[k]==1 || dig[k]==3 || dig[k]==4 || dig[k]==5 || dig[k]==7 || dig[k]==9){
	  for(int i=0;i<s+1;i++){
	    printf(" ");
	  }
	  printf("|");
	}else if(dig[k]==2){
	  printf("|");
	  for(int i=0;i<s+1;i++){
	    printf(" ");
	  }
	}else if(dig[k]==0 || dig[k]==6 || dig[k]==8){
	  printf("|");
	  for(int i=0;i<s;i++){
	    printf(" ");
	  }
	  printf("|");
	}
	if(k!=dig.size()-1){
	  printf(" ");
	}
      }
      printf("\n");
    }

    //fifth block
    for(int k=0;k<dig.size();k++){
      if(dig[k]==1 || dig[k]==4 || dig[k]==7){
	for(int i=0;i<s+2;i++){
	  printf(" ");
	}
      }else if(dig[k]==0 || dig[k]==2 ||dig[k]==3 || dig[k]==5 ||dig[k]==6 ||dig[k]==8 ||dig[k]==9){
	printf(" ");
	for(int i=0;i<s;i++){
	  printf("-");
	}
	printf(" ");
      }
      if(k!=dig.size()-1){
	printf(" ");
      }
    }
    printf("\n\n");
  }
}

